Showing before the child would result in bogus
gdk_drag_surface_present() with an "empty" (1x1) size. This can easily
be avoided by postponing showing until there is anything to show.
g_object_set_qdata_full (G_OBJECT (drag), drag_icon_quark, g_object_ref_sink (self), g_object_unref);
- gtk_widget_show (self);
+ if (GTK_DRAG_ICON (self)->child != NULL)
+ gtk_widget_show (self);
}
return self;
self->child = child;
if (self->child)
- gtk_widget_set_parent (self->child, GTK_WIDGET (self));
+ {
+ gtk_widget_set_parent (self->child, GTK_WIDGET (self));
+ gtk_widget_show (GTK_WIDGET (self));
+ }
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CHILD]);
}